[INFO] cloning repository https://github.com/kpoamber/simply-storage
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kpoamber/simply-storage" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpoamber%2Fsimply-storage", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpoamber%2Fsimply-storage'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6828642f1fe11b86d2f1a9bde57ac93ce3738885
[INFO] fixing kpoamber/simply-storage against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkpoamber%2Fsimply-storage" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kpoamber/simply-storage
[INFO] finished tweaking git repo https://github.com/kpoamber/simply-storage
[INFO] tweaked toml for git repo https://github.com/kpoamber/simply-storage written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kpoamber/simply-storage on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kpoamber/simply-storage already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63
[INFO] running `Command { std: "docker" "start" "fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking vsimd v0.8.0
[INFO] [stderr]     Checking outref v0.5.2
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling aws-lc-rs v1.16.1
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking base64-simd v0.8.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking base16ct v0.1.1
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking hybrid-array v0.4.8
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking regex-lite v0.1.9
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling aws-types v1.3.14
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling hax-lib v0.3.5
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]     Checking pem-rfc7468 v1.0.0
[INFO] [stderr]     Checking block-buffer v0.12.0
[INFO] [stderr]     Checking crypto-common v0.2.1
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.38.0
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking digest v0.11.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]     Checking cmov v0.5.0-pre.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]     Checking rand_core v0.10.0-rc-3
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]     Checking ctutils v0.3.2
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling bytestring v1.5.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling libcrux-intrinsics v0.0.4
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking brotli v8.0.2
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling libcrux-sha3 v0.0.4
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking xmlparser v0.13.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking der v0.6.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking crypto-bigint v0.4.9
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking spki v0.6.0
[INFO] [stderr]     Checking pkcs5 v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking pkcs8 v0.9.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking sec1 v0.3.0
[INFO] [stderr]    Compiling hax-lib-macros v0.3.5
[INFO] [stderr]     Checking der v0.8.0
[INFO] [stderr]     Checking rfc6979 v0.3.1
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking elliptic-curve v0.12.3
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking ecdsa v0.14.8
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking spki v0.8.0-rc.4
[INFO] [stderr]     Checking libcrux-secrets v0.0.4
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking p256 v0.11.1
[INFO] [stderr]     Checking ssh-encoding v0.2.0
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking crypto-bigint v0.7.0-rc.18
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking pkcs8 v0.11.0-rc.11
[INFO] [stderr]     Checking pkcs1 v0.8.0-rc.4
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking libcrux-traits v0.0.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling actix-router v0.5.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking bytes-utils v0.1.4
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking aws-smithy-xml v0.60.15
[INFO] [stderr]    Compiling tls_codec_derive v0.4.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking signature v3.0.0-rc.6
[INFO] [stderr]     Checking sha2 v0.11.0-rc.5
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking libcrux-platform v0.0.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]    Compiling v_htmlescape v0.15.8
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]    Compiling libcrux-ml-kem v0.0.4
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.6.0
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking ssh-cipher v0.2.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking tls_codec v0.4.2
[INFO] [stderr]     Checking bcrypt-pbkdf v0.10.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking p521 v0.13.3
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking crypto-primes v0.7.0-pre.6
[INFO] [stderr]     Checking crc-fast v1.6.0
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking sha1 v0.11.0-rc.5
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling parse-size v1.1.0
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking seize v0.3.3
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking flurry v0.5.2
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling actix-multipart-derive v0.7.0
[INFO] [stderr]     Checking russh-cryptovec v0.52.0
[INFO] [stderr]     Checking lazy-regex v3.6.0
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking rsa v0.10.0-rc.12
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking generic-array v1.3.5
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling delegate v0.13.5
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking internal-russh-forked-ssh-key v0.6.16+upstream-0.6.7
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking hex-literal v0.4.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]     Checking jsonwebtoken v10.3.0
[INFO] [stderr]     Checking cron v0.12.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking aws-smithy-async v1.2.14
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking russh-util v0.52.0
[INFO] [stderr]     Checking suppaftp v8.0.2
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking aws-smithy-types v1.4.6
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking russh-sftp v2.1.1
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking aws-smithy-runtime-api v1.11.6
[INFO] [stderr]     Checking aws-smithy-eventstream v0.60.20
[INFO] [stderr]     Checking aws-smithy-json v0.62.5
[INFO] [stderr]     Checking aws-smithy-query v0.60.15
[INFO] [stderr]     Checking aws-smithy-json v0.61.9
[INFO] [stderr]     Checking aws-smithy-http v0.63.6
[INFO] [stderr]     Checking aws-credential-types v1.2.14
[INFO] [stderr]     Checking aws-smithy-observability v0.2.6
[INFO] [stderr]     Checking aws-smithy-http v0.62.6
[INFO] [stderr]     Checking aws-sigv4 v1.4.2
[INFO] [stderr]     Checking aws-smithy-checksums v0.63.12
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking actix-http v3.12.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking actix-web v4.13.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking actix-multipart v0.7.2
[INFO] [stderr]     Checking actix-files v0.6.10
[INFO] [stderr]     Checking russh v0.57.1
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking aws-smithy-http-client v1.1.12
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking aws-smithy-runtime v1.10.3
[INFO] [stderr]     Checking aws-runtime v1.7.2
[INFO] [stderr]     Checking aws-sdk-sts v1.100.0
[INFO] [stderr]     Checking aws-sdk-sso v1.96.0
[INFO] [stderr]     Checking aws-sdk-ssooidc v1.98.0
[INFO] [stderr]     Checking aws-sdk-s3 v1.119.0
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking aws-config v1.8.15
[INFO] [stderr]     Checking simply-storage v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/db/models.rs (2 fixes)
[INFO] [stderr]        Fixed src/services/auth_service.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/backup_service.rs:452:43
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let backend = self.registry.get(&record.storage_id).await?;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `backend` calls a custom destructor
[INFO] [stdout]     |             `backend` will be dropped later as of Edition 2024
[INFO] [stdout] 452 |         backend.delete(&record.file_path).await
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 453 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/files.rs:296:41
[INFO] [stdout]      |
[INFO] [stdout]  279 |       let mut file_data: Option<(String, String, BytesMut)> = None;
[INFO] [stdout]      |           -------------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `file_data` calls a custom destructor
[INFO] [stdout]      |           `file_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |       while let Some(mut field) = payload
[INFO] [stdout]      |                      ---------
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      `field` calls a custom destructor
[INFO] [stdout]      |                      `field` will be dropped later as of Edition 2024
[INFO] [stdout]  283 |           .try_next()
[INFO] [stdout]  284 |           .await
[INFO] [stdout]      |            -----
[INFO] [stdout]      |            |
[INFO] [stdout]      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 |                   let mut buf = BytesMut::new();
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `buf` calls a custom destructor
[INFO] [stdout]      |                       `buf` will be dropped later as of Edition 2024
[INFO] [stdout]  296 |                   while let Some(chunk) = field
[INFO] [stdout]      |  ________________________________-----____^
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `chunk` calls a custom destructor
[INFO] [stdout]      | |                                `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  297 | |                     .try_next()
[INFO] [stdout]  298 | |                     .await
[INFO] [stdout]      | |                      -----
[INFO] [stdout]      | |                      |
[INFO] [stdout]      | |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  299 | |                     .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]      | |                                                                                               ^
[INFO] [stdout]      | |                                                                                               |
[INFO] [stdout]      | |                                                                                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                                                                               up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_______________________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                                 up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  307 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  308 |                   let meta_str = std::str::from_utf8(&buf)
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]      | |________________________________|
[INFO] [stdout]  309 | |                     .map_err(|_| AppError::BadRequest("Metadata must be valid UTF-8".to_string()))?;
[INFO] [stdout]      | |                                                                                                   -
[INFO] [stdout]      | |___________________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                                                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                   metadata = serde_json::from_str(meta_str)
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]  311 | |                     .map_err(|e| AppError::BadRequest(format!("Invalid metadata JSON: {}", e)))?;
[INFO] [stdout]      | |                                                                                                -
[INFO] [stdout]      | |________________________________________________________________________________________________|
[INFO] [stdout]      | |________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  312 | |                 validate_flat_metadata(&metadata)?;
[INFO] [stdout]      | |                 ----------------------------------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  328 | |                     while let Some(chunk) = field
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  329 | |                         .try_next()
[INFO] [stdout]  330 | |                         .await
[INFO] [stdout]      | |                          -----
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `field` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/files.rs:296:41
[INFO] [stdout]     |
[INFO] [stdout] 296 |                   while let Some(chunk) = field
[INFO] [stdout]     |  ________________________________-----____^
[INFO] [stdout]     | |                                |
[INFO] [stdout]     | |                                `chunk` calls a custom destructor
[INFO] [stdout]     | |                                `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 297 | |                     .try_next()
[INFO] [stdout] 298 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 299 | |                     .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]     | |                                                                                               ^
[INFO] [stdout]     | |                                                                                               |
[INFO] [stdout]     | |                                                                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |_______________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/files.rs:328:45
[INFO] [stdout]      |
[INFO] [stdout]  279 |       let mut file_data: Option<(String, String, BytesMut)> = None;
[INFO] [stdout]      |           -------------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `file_data` calls a custom destructor
[INFO] [stdout]      |           `file_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |       while let Some(mut field) = payload
[INFO] [stdout]      |                      ---------
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      `field` calls a custom destructor
[INFO] [stdout]      |                      `field` will be dropped later as of Edition 2024
[INFO] [stdout]  283 |           .try_next()
[INFO] [stdout]  284 |           .await
[INFO] [stdout]      |            -----
[INFO] [stdout]      |            |
[INFO] [stdout]      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 |                   let mut buf = BytesMut::new();
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `buf` calls a custom destructor
[INFO] [stdout]      |                       `buf` will be dropped later as of Edition 2024
[INFO] [stdout]  296 |                   while let Some(chunk) = field
[INFO] [stdout]      |                                  -----
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  `chunk` calls a custom destructor
[INFO] [stdout]      |                                  `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  297 |                       .try_next()
[INFO] [stdout]  298 |                       .await
[INFO] [stdout]      |                        -----
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  308 |                   let meta_str = std::str::from_utf8(&buf)
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]  309 | |                     .map_err(|_| AppError::BadRequest("Metadata must be valid UTF-8".to_string()))?;
[INFO] [stdout]      | |                                                                                                   -
[INFO] [stdout]      | |                                                                                                   |
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                                                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                   metadata = serde_json::from_str(meta_str)
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]  311 | |                     .map_err(|e| AppError::BadRequest(format!("Invalid metadata JSON: {}", e)))?;
[INFO] [stdout]      | |                                                                                                -
[INFO] [stdout]      | |________________________________________________________________________________________________|
[INFO] [stdout]      | |________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  312 | |                 validate_flat_metadata(&metadata)?;
[INFO] [stdout]      | |                 ----------------------------------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  328 |                       while let Some(chunk) = field
[INFO] [stdout]      |  ____________________________________-----____^
[INFO] [stdout]      |  ____________________________________|________|
[INFO] [stdout]      |  ____________________________________|________|
[INFO] [stdout]      |  ____________________________________|________|
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  329 | |                         .try_next()
[INFO] [stdout]  330 | |                         .await
[INFO] [stdout]      | |                          -----
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  331 | |                         .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]      | |                                                                                                   ^
[INFO] [stdout]      | |___________________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |___________________________________________________________________________________________________up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                                     up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  334 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `field` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/files.rs:328:45
[INFO] [stdout]     |
[INFO] [stdout] 328 |                       while let Some(chunk) = field
[INFO] [stdout]     |  ____________________________________-----____^
[INFO] [stdout]     | |                                    |
[INFO] [stdout]     | |                                    `chunk` calls a custom destructor
[INFO] [stdout]     | |                                    `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 329 | |                         .try_next()
[INFO] [stdout] 330 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |                          |
[INFO] [stdout]     | |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 331 | |                         .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]     | |                                                                                                   ^
[INFO] [stdout]     | |                                                                                                   |
[INFO] [stdout]     | |                                                                                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 334 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/files.rs:282:33
[INFO] [stdout]      |
[INFO] [stdout]  279 |       let mut file_data: Option<(String, String, BytesMut)> = None;
[INFO] [stdout]      |           -------------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `file_data` calls a custom destructor
[INFO] [stdout]      |           `file_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |       while let Some(mut field) = payload
[INFO] [stdout]      |  ____________________---------____^
[INFO] [stdout]      | |                    |
[INFO] [stdout]      | |                    `field` calls a custom destructor
[INFO] [stdout]      | |                    `field` will be dropped later as of Edition 2024
[INFO] [stdout]  283 | |         .try_next()
[INFO] [stdout]  284 | |         .await
[INFO] [stdout]      | |          -----
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  285 | |         .map_err(|e| AppError::BadRequest(format!("Multipart error: {}", e)))?
[INFO] [stdout]      | |                                                                              ^
[INFO] [stdout]      | |                                                                              |
[INFO] [stdout]      | |                                                                              this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                                                              up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 |                   let mut buf = BytesMut::new();
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `buf` calls a custom destructor
[INFO] [stdout]      |                       `buf` will be dropped later as of Edition 2024
[INFO] [stdout]  296 |                   while let Some(chunk) = field
[INFO] [stdout]      |                                  -----
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  `chunk` calls a custom destructor
[INFO] [stdout]      |                                  `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  297 |                       .try_next()
[INFO] [stdout]  298 |                       .await
[INFO] [stdout]      |                        -----
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  308 |                   let meta_str = std::str::from_utf8(&buf)
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]      | |________________________________|
[INFO] [stdout]  309 | |                     .map_err(|_| AppError::BadRequest("Metadata must be valid UTF-8".to_string()))?;
[INFO] [stdout]      | |                                                                                                   -
[INFO] [stdout]      | |___________________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                                                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                   metadata = serde_json::from_str(meta_str)
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]  311 | |                     .map_err(|e| AppError::BadRequest(format!("Invalid metadata JSON: {}", e)))?;
[INFO] [stdout]      | |                                                                                                -
[INFO] [stdout]      | |________________________________________________________________________________________________|
[INFO] [stdout]      | |________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  312 | |                 validate_flat_metadata(&metadata)?;
[INFO] [stdout]      | |                 ----------------------------------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  327 | |                     let mut data = BytesMut::new();
[INFO] [stdout]      | |                         --------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `data` calls a custom destructor
[INFO] [stdout]      | |                         `data` will be dropped later as of Edition 2024
[INFO] [stdout]  328 | |                     while let Some(chunk) = field
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  329 | |                         .try_next()
[INFO] [stdout]  330 | |                         .await
[INFO] [stdout]      | |                          -----
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  339 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `field` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/files.rs:925:8
[INFO] [stdout]     |
[INFO] [stdout] 904 |     let backend = registry.get(&location.storage_id).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `backend` calls a custom destructor
[INFO] [stdout]     |         `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 925 |     Ok(HttpResponse::Ok()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 928 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/projects.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  50 |     let stats_row = sqlx::query(
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stats_row` calls a custom destructor
[INFO] [stdout]     |         `stats_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  67 |     Ok(HttpResponse::Ok().json(serde_json::json!({
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  74 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stats_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/shared_links.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let result = service
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `result` calls a custom destructor
[INFO] [stdout]     |         `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |     Ok(HttpResponse::Ok()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 224 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/storages.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let stats_row = sqlx::query(
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stats_row` calls a custom destructor
[INFO] [stdout]     |         `stats_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |     Ok(HttpResponse::Ok().json(StorageWithStats {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stats_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/storages.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let backend = registry.get(&storage_id).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `backend` calls a custom destructor
[INFO] [stdout]     |         `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |     Ok(HttpResponse::Ok().json(containers))
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 226 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/storages.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let backend = registry.get(&storage_id).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `backend` calls a custom destructor
[INFO] [stdout]     |         `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 |     Ok(HttpResponse::Created().json(serde_json::json!({"name": body.name})))
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 241 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/uploads.rs:247:29
[INFO] [stdout]     |
[INFO] [stdout] 247 |       while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 248 |           let chunk = chunk.map_err(|e| AppError::BadRequest(format!("Payload read error: {}", e)))?;
[INFO] [stdout]     |               -----   ------------------------------------------------------------------------------
[INFO] [stdout]     |               |       |
[INFO] [stdout]     |               |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `chunk` calls a custom destructor
[INFO] [stdout]     |               `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 | /         file.write_all(&chunk)
[INFO] [stdout] 256 | |             .await
[INFO] [stdout] 257 | |             .map_err(|e| AppError::Internal(format!("Failed to write chunk: {}", e)))?;
[INFO] [stdout]     | |                                                                                      -
[INFO] [stdout]     | |                                                                                      |
[INFO] [stdout]     | |______________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 258 |           written += chunk.len() as i64;
[INFO] [stdout] 259 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/uploads.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let mut file = tokio::fs::OpenOptions::new()
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `file` calls a custom destructor
[INFO] [stdout]     |         `file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |     Ok(HttpResponse::NoContent()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/mod.rs:66:8
[INFO] [stdout]     |
[INFO] [stdout]  54 |     let file_row = sqlx::query("SELECT COUNT(*)::bigint, COALESCE(SUM(size), 0)::bigint FROM files")
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `file_row` calls a custom destructor
[INFO] [stdout]     |         `file_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |     let pending_row =
[INFO] [stdout]     |         -----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pending_row` calls a custom destructor
[INFO] [stdout]     |         `pending_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |     Ok(HttpResponse::Ok().json(SystemStats {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/backend_resolver.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 | /                 resolve_project_backend(pool, registry, &storage, fref.project_id, hmac_secret)
[INFO] [stdout] 126 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |                      |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                      |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 130 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/bulk_service.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let source_loc = sqlx::query_as::<_, FileLocation>(
[INFO] [stdout]     |    ______________________________-
[INFO] [stdout]     |  _|______________________________|
[INFO] [stdout] 105 | | |                 r#"SELECT fl.* FROM file_locations fl
[INFO] [stdout] 106 | | |                    JOIN storages s ON s.id = fl.storage_id AND s.enabled = TRUE
[INFO] [stdout] 107 | | |                    WHERE fl.file_id = $1 AND fl.status = 'synced'
[INFO] [stdout] ...   | |
[INFO] [stdout] 112 | | |             .fetch_optional(&self.pool)
[INFO] [stdout] 113 | | |             .await?;
[INFO] [stdout]     | | |              ------
[INFO] [stdout]     | | |              |   ||
[INFO] [stdout]     | |_|______________|___|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |   |              |   |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |   |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                  |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 122 |                     match SyncTask::create(&self.pool, &create_task).await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                                          |
[INFO] [stdout]     |                           |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           |                                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           |                                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 123 |                         Ok(_) => sync_tasks_created += 1,
[INFO] [stdout] 124 |                         Err(e) => {
[INFO] [stdout]     |                             -
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `e` calls a custom destructor
[INFO] [stdout]     |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 268 |             if !self.registry.contains(&storage.id).await {
[INFO] [stdout]     |                 -----------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 277 |             match SyncTask::create(&self.pool, &create_task).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                          |
[INFO] [stdout]     |                   |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                                          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 278 |                 Ok(_) => sync_tasks_created += 1,
[INFO] [stdout] 279 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 288 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:326:23
[INFO] [stdout]     |
[INFO] [stdout] 321 |               let backends = self
[INFO] [stdout]     |  _________________--------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `backends` calls a custom destructor
[INFO] [stdout]     | |                 `backends` will be dropped later as of Edition 2024
[INFO] [stdout] 322 | |                 .resolve_backends_for_location(&location.storage_id, &refs)
[INFO] [stdout] 323 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 326 |                   match backend.download(&location.storage_path).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                                        |
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |                                        up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 327 |                       Ok(data) => {
[INFO] [stdout]     |                          ----
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `data` calls a custom destructor
[INFO] [stdout]     |                          `data` will be dropped later as of Edition 2024
[INFO] [stdout] 328 |                           let _ = FileLocation::touch_accessed(&self.pool, location.id).await;
[INFO] [stdout]     |                                   -----------------------------------------------------------
[INFO] [stdout]     |                                   |                                                     |
[INFO] [stdout]     |                                   |                                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                   |                                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                       Err(e) => {
[INFO] [stdout]     |                           -
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `e` calls a custom destructor
[INFO] [stdout]     |                           `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backends` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:580:37
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 if let Ok(backend) = self.registry.get(&location.storage_id).await {
[INFO] [stdout]     |                           -------    ---------------------------------------------
[INFO] [stdout]     |                           |          |                                       |
[INFO] [stdout]     |                           |          |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |          |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           `backend` calls a custom destructor
[INFO] [stdout]     |                           `backend` will be dropped later as of Edition 2024
[INFO] [stdout] 580 |                     if let Err(e) = backend.delete(&location.storage_path).await {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                |    |                                      |
[INFO] [stdout]     |                                |    |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                |    |                                      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |    |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 588 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:579:38
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 if let Ok(backend) = self.registry.get(&location.storage_id).await {
[INFO] [stdout]     |                           -------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |          |                                       |
[INFO] [stdout]     |                           |          |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           |          |                                       up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |          |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |          |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           |          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           `backend` calls a custom destructor
[INFO] [stdout]     |                           `backend` will be dropped later as of Edition 2024
[INFO] [stdout] 580 |                     if let Err(e) = backend.delete(&location.storage_path).await {
[INFO] [stdout]     |                                -    --------------------------------------------
[INFO] [stdout]     |                                |    |                                      |
[INFO] [stdout]     |                                |    |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |    |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 589 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/shared_link_service.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 213 |               let backends = self
[INFO] [stdout]     |  _________________--------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `backends` calls a custom destructor
[INFO] [stdout]     | |                 `backends` will be dropped later as of Edition 2024
[INFO] [stdout] 214 | |                 .resolve_backends_for_location(&location.storage_id, &refs)
[INFO] [stdout] 215 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 218 |                   match backend.download(&location.storage_path).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                                        |
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         |                                        up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 219 |                       Ok(data) => {
[INFO] [stdout]     |                          ----
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `data` calls a custom destructor
[INFO] [stdout]     |                          `data` will be dropped later as of Edition 2024
[INFO] [stdout] 220 |                           let _ = FileLocation::touch_accessed(&self.pool, location.id).await;
[INFO] [stdout]     |                                   -----------------------------------------------------------
[INFO] [stdout]     |                                   |                                                     |
[INFO] [stdout]     |                                   |                                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                   |                                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |                               SharedLink::increment_download_count(&self.pool, link.id).await?;
[INFO] [stdout]     |                               ----------------------------------------------------------------
[INFO] [stdout]     |                               |                                                         |
[INFO] [stdout]     |                               |                                                         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               |                                                         `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 239 |                       Err(e) => {
[INFO] [stdout]     |                           -
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `e` calls a custom destructor
[INFO] [stdout]     |                           `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 248 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backends` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/tier_service.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout]  90 |             if let Some(cold_storage) = self.find_cold_storage(file.file_id).await? {
[INFO] [stdout]     |                                         ------------------------------------------
[INFO] [stdout]     |                                         |                                    |
[INFO] [stdout]     |                                         |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  91 |                 if !self.registry.contains(&cold_storage.id).await {
[INFO] [stdout]     |                     ----------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 100 |                 match SyncTask::create(&self.pool, &create_task).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                          |
[INFO] [stdout]     |                       |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       |                                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       |                                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 109 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/tier_service.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |             match FileLocation::update_status(&self.pool, item.hot_location_id, "archived").await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                                                         |
[INFO] [stdout]     |                   |                                                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                                                                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                                                                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 160 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/local.rs:224:29
[INFO] [stdout]     |
[INFO] [stdout] 224 |     while let Some(entry) = entries.next_entry().await? {
[INFO] [stdout]     |                    -----    --------------------------^
[INFO] [stdout]     |                    |        |                    |
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                    |        |                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    |        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                    |        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `entry` calls a custom destructor
[INFO] [stdout]     |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |             Box::pin(collect_files(&path, base, prefix, results)).await?;
[INFO] [stdout]     |             ------------------------------------------------------------
[INFO] [stdout]     |             |                                                     |
[INFO] [stdout]     |             |                                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |             |                                                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 233 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/registry.rs:266:15
[INFO] [stdout]     |
[INFO] [stdout] 266 |         match create_backend(&storage.storage_type, &storage.config, hmac_secret).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                                   |
[INFO] [stdout]     |               |                                                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                                                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 267 |             Ok(backend) => {
[INFO] [stdout] 268 |                 registry.register(storage.id, backend).await;
[INFO] [stdout]     |                 --------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 276 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 286 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/workers/backup_worker.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 |             if let Err(e) = self.process_config(config).await {
[INFO] [stdout]    |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                        |    |                           |
[INFO] [stdout]    |                        |    |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                        |    |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |    |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |    |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        `e` calls a custom destructor
[INFO] [stdout]    |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 94 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/workers/sync_worker.rs:114:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     self.process_task(&task, worker_id).await;
[INFO] [stdout]     |                     -----------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 113 |                     // Release advisory lock after processing
[INFO] [stdout] 114 |                     if let Err(e) = SyncTask::release_lock(&self.pool, task.id).await {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                |    |                                           |
[INFO] [stdout]     |                                |    |                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |    |                                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |    |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 122 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/workers/upload_cleanup_worker.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 126 |             let _ = tokio::fs::remove_file(&s.temp_path).await;
[INFO] [stdout]     |                     ------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 127 |             if let Err(e) = UploadSession::mark_status(&self.pool, s.id, "aborted").await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                                                       |
[INFO] [stdout]     |                        |    |                                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                        |    |                                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 130 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/workers/upload_cleanup_worker.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |         while let Ok(Some(entry)) = entries.next_entry().await {
[INFO] [stdout]     |                           -----     ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |         |                    |
[INFO] [stdout]     |                           |         |                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |         |                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |         |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           |         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           `entry` calls a custom destructor
[INFO] [stdout]     |                           `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 173 |                 UploadSession::find_by_id(&self.pool, id).await,
[INFO] [stdout]     |                 -----------------------------------------------
[INFO] [stdout]     |                 |                                         |
[INFO] [stdout]     |                 |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 177 |                 let _ = tokio::fs::remove_file(&path).await;
[INFO] [stdout]     |                         -----------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 178 |             }
[INFO] [stdout] 179 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/azure.rs:504:33
[INFO] [stdout]     |
[INFO] [stdout] 504 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 505 |               let chunk = chunk
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `chunk` calls a custom destructor
[INFO] [stdout]     | |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 506 | |                 .map_err(|e| AppError::Internal(format!("Azure stream chunk error: {}", e)))?;
[INFO] [stdout]     | |                                                                                             -
[INFO] [stdout]     | |                                                                                             |
[INFO] [stdout]     | |_____________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 507 | /             file.write_all(&chunk)
[INFO] [stdout] 508 | |                 .await
[INFO] [stdout] 509 | |                 .map_err(|e| AppError::Internal(format!("Failed to write chunk to temp: {}", e)))?;
[INFO] [stdout]     | |                                                                                                  -
[INFO] [stdout]     | |__________________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 510 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/gcs.rs:433:33
[INFO] [stdout]     |
[INFO] [stdout] 433 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 434 |               let chunk = chunk
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `chunk` calls a custom destructor
[INFO] [stdout]     | |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 435 | |                 .map_err(|e| AppError::Internal(format!("GCS stream chunk error: {}", e)))?;
[INFO] [stdout]     | |                                                                                           -
[INFO] [stdout]     | |                                                                                           |
[INFO] [stdout]     | |___________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 436 | /             file.write_all(&chunk)
[INFO] [stdout] 437 | |                 .await
[INFO] [stdout] 438 | |                 .map_err(|e| AppError::Internal(format!("Failed to write chunk to temp: {}", e)))?;
[INFO] [stdout]     | |                                                                                                  -
[INFO] [stdout]     | |__________________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 439 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/hetzner.rs:326:33
[INFO] [stdout]     |
[INFO] [stdout] 326 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 327 |               let chunk = chunk
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `chunk` calls a custom destructor
[INFO] [stdout]     | |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 328 | |                 .map_err(|e| AppError::Internal(format!("Hetzner stream chunk error: {}", e)))?;
[INFO] [stdout]     | |                                                                                               -
[INFO] [stdout]     | |                                                                                               |
[INFO] [stdout]     | |_______________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 329 | /             file.write_all(&chunk)
[INFO] [stdout] 330 | |                 .await
[INFO] [stdout] 331 | |                 .map_err(|e| AppError::Internal(format!("Failed to write chunk to temp: {}", e)))?;
[INFO] [stdout]     | |                                                                                                  -
[INFO] [stdout]     | |__________________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 332 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/s3.rs:445:33
[INFO] [stdout]     |
[INFO] [stdout] 445 |             while let Some(chunk) = body
[INFO] [stdout]     |  __________________________-----____^
[INFO] [stdout]     | |  ________________________|________|
[INFO] [stdout]     | | |                        |
[INFO] [stdout]     | | |                        `chunk` calls a custom destructor
[INFO] [stdout]     | | |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 446 | | |             .next()
[INFO] [stdout] 447 | | |             .await
[INFO] [stdout]     | | |              -----
[INFO] [stdout]     | | |              |   |
[INFO] [stdout]     | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 448 | |               .transpose()
[INFO] [stdout] 449 | |               .map_err(|e| AppError::Internal(format!("S3 stream chunk error: {}", e)))?
[INFO] [stdout]     | |                                                                                        ^
[INFO] [stdout]     | |                                                                                        |
[INFO] [stdout]     | |                                                                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                                                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                                                          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 450 |             {
[INFO] [stdout] 451 |   /             file.write_all(&chunk)
[INFO] [stdout] 452 |   |                 .await
[INFO] [stdout] 453 |   |                 .map_err(|e| AppError::Internal(format!("Failed to write S3 chunk: {}", e)))?;
[INFO] [stdout]     |   |                                                                                             -
[INFO] [stdout]     |   |_____________________________________________________________________________________________|
[INFO] [stdout]     |   |_____________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 454 |   |         }
[INFO] [stdout]     |   |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/sftp.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 166 |         let sftp = self.connect().await?;
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sftp` calls a custom destructor
[INFO] [stdout]     |             `sftp` will be dropped later as of Edition 2024
[INFO] [stdout] 167 |
[INFO] [stdout] 168 |         match sftp.remove_file(&remote).await {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `sftp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/russh-sftp-2.1.1/src/client/rawsession.rs:719:1
[INFO] [stdout]     |
[INFO] [stdout] 719 | impl Drop for RawSftpSession {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/sftp.rs:186:40
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 184 |         let sftp = self.connect().await?;
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sftp` calls a custom destructor
[INFO] [stdout]     |             `sftp` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |
[INFO] [stdout] 186 |         match sftp.try_exists(&remote).await {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `sftp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/russh-sftp-2.1.1/src/client/rawsession.rs:719:1
[INFO] [stdout]     |
[INFO] [stdout] 719 | impl Drop for RawSftpSession {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/traits.rs:44:14
[INFO] [stdout]     |
[INFO] [stdout]  12 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  42 |         let data = self.download(path).await?;
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `data` calls a custom destructor
[INFO] [stdout]     |             `data` will be dropped later as of Edition 2024
[INFO] [stdout]  43 |         tokio::fs::write(dst, &data)
[INFO] [stdout]  44 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/config.rs (10 fixes)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/backup_service.rs:452:43
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let backend = self.registry.get(&record.storage_id).await?;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `backend` calls a custom destructor
[INFO] [stdout]     |             `backend` will be dropped later as of Edition 2024
[INFO] [stdout] 452 |         backend.delete(&record.file_path).await
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 453 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/files.rs:296:41
[INFO] [stdout]      |
[INFO] [stdout]  279 |       let mut file_data: Option<(String, String, BytesMut)> = None;
[INFO] [stdout]      |           -------------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `file_data` calls a custom destructor
[INFO] [stdout]      |           `file_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |       while let Some(mut field) = payload
[INFO] [stdout]      |                      ---------
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      `field` calls a custom destructor
[INFO] [stdout]      |                      `field` will be dropped later as of Edition 2024
[INFO] [stdout]  283 |           .try_next()
[INFO] [stdout]  284 |           .await
[INFO] [stdout]      |            -----
[INFO] [stdout]      |            |
[INFO] [stdout]      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 |                   let mut buf = BytesMut::new();
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `buf` calls a custom destructor
[INFO] [stdout]      |                       `buf` will be dropped later as of Edition 2024
[INFO] [stdout]  296 |                   while let Some(chunk) = field
[INFO] [stdout]      |  ________________________________-----____^
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `chunk` calls a custom destructor
[INFO] [stdout]      | |                                `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  297 | |                     .try_next()
[INFO] [stdout]  298 | |                     .await
[INFO] [stdout]      | |                      -----
[INFO] [stdout]      | |                      |
[INFO] [stdout]      | |                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  299 | |                     .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]      | |                                                                                               ^
[INFO] [stdout]      | |                                                                                               |
[INFO] [stdout]      | |                                                                                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                                                                               up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_______________________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                                 up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  307 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  308 |                   let meta_str = std::str::from_utf8(&buf)
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]      | |________________________________|
[INFO] [stdout]  309 | |                     .map_err(|_| AppError::BadRequest("Metadata must be valid UTF-8".to_string()))?;
[INFO] [stdout]      | |                                                                                                   -
[INFO] [stdout]      | |___________________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                                                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                   metadata = serde_json::from_str(meta_str)
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]  311 | |                     .map_err(|e| AppError::BadRequest(format!("Invalid metadata JSON: {}", e)))?;
[INFO] [stdout]      | |                                                                                                -
[INFO] [stdout]      | |________________________________________________________________________________________________|
[INFO] [stdout]      | |________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  312 | |                 validate_flat_metadata(&metadata)?;
[INFO] [stdout]      | |                 ----------------------------------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  328 | |                     while let Some(chunk) = field
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  329 | |                         .try_next()
[INFO] [stdout]  330 | |                         .await
[INFO] [stdout]      | |                          -----
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `field` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/files.rs:296:41
[INFO] [stdout]     |
[INFO] [stdout] 296 |                   while let Some(chunk) = field
[INFO] [stdout]     |  ________________________________-----____^
[INFO] [stdout]     | |                                |
[INFO] [stdout]     | |                                `chunk` calls a custom destructor
[INFO] [stdout]     | |                                `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 297 | |                     .try_next()
[INFO] [stdout] 298 | |                     .await
[INFO] [stdout]     | |                      -----
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 299 | |                     .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]     | |                                                                                               ^
[INFO] [stdout]     | |                                                                                               |
[INFO] [stdout]     | |                                                                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |_______________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 307 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/files.rs:328:45
[INFO] [stdout]      |
[INFO] [stdout]  279 |       let mut file_data: Option<(String, String, BytesMut)> = None;
[INFO] [stdout]      |           -------------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `file_data` calls a custom destructor
[INFO] [stdout]      |           `file_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |       while let Some(mut field) = payload
[INFO] [stdout]      |                      ---------
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      `field` calls a custom destructor
[INFO] [stdout]      |                      `field` will be dropped later as of Edition 2024
[INFO] [stdout]  283 |           .try_next()
[INFO] [stdout]  284 |           .await
[INFO] [stdout]      |            -----
[INFO] [stdout]      |            |
[INFO] [stdout]      |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 |                   let mut buf = BytesMut::new();
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `buf` calls a custom destructor
[INFO] [stdout]      |                       `buf` will be dropped later as of Edition 2024
[INFO] [stdout]  296 |                   while let Some(chunk) = field
[INFO] [stdout]      |                                  -----
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  `chunk` calls a custom destructor
[INFO] [stdout]      |                                  `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  297 |                       .try_next()
[INFO] [stdout]  298 |                       .await
[INFO] [stdout]      |                        -----
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  308 |                   let meta_str = std::str::from_utf8(&buf)
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]  309 | |                     .map_err(|_| AppError::BadRequest("Metadata must be valid UTF-8".to_string()))?;
[INFO] [stdout]      | |                                                                                                   -
[INFO] [stdout]      | |                                                                                                   |
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                                                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                   metadata = serde_json::from_str(meta_str)
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]  311 | |                     .map_err(|e| AppError::BadRequest(format!("Invalid metadata JSON: {}", e)))?;
[INFO] [stdout]      | |                                                                                                -
[INFO] [stdout]      | |________________________________________________________________________________________________|
[INFO] [stdout]      | |________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  312 | |                 validate_flat_metadata(&metadata)?;
[INFO] [stdout]      | |                 ----------------------------------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  328 |                       while let Some(chunk) = field
[INFO] [stdout]      |  ____________________________________-----____^
[INFO] [stdout]      |  ____________________________________|________|
[INFO] [stdout]      |  ____________________________________|________|
[INFO] [stdout]      |  ____________________________________|________|
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  329 | |                         .try_next()
[INFO] [stdout]  330 | |                         .await
[INFO] [stdout]      | |                          -----
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  331 | |                         .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]      | |                                                                                                   ^
[INFO] [stdout]      | |___________________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |___________________________________________________________________________________________________up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                                     up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  334 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `field` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/files.rs:328:45
[INFO] [stdout]     |
[INFO] [stdout] 328 |                       while let Some(chunk) = field
[INFO] [stdout]     |  ____________________________________-----____^
[INFO] [stdout]     | |                                    |
[INFO] [stdout]     | |                                    `chunk` calls a custom destructor
[INFO] [stdout]     | |                                    `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 329 | |                         .try_next()
[INFO] [stdout] 330 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |                          |
[INFO] [stdout]     | |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 331 | |                         .map_err(|e| AppError::BadRequest(format!("Multipart read error: {}", e)))?
[INFO] [stdout]     | |                                                                                                   ^
[INFO] [stdout]     | |                                                                                                   |
[INFO] [stdout]     | |                                                                                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                                                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 334 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/files.rs:282:33
[INFO] [stdout]      |
[INFO] [stdout]  279 |       let mut file_data: Option<(String, String, BytesMut)> = None;
[INFO] [stdout]      |           -------------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `file_data` calls a custom destructor
[INFO] [stdout]      |           `file_data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |       while let Some(mut field) = payload
[INFO] [stdout]      |  ____________________---------____^
[INFO] [stdout]      | |                    |
[INFO] [stdout]      | |                    `field` calls a custom destructor
[INFO] [stdout]      | |                    `field` will be dropped later as of Edition 2024
[INFO] [stdout]  283 | |         .try_next()
[INFO] [stdout]  284 | |         .await
[INFO] [stdout]      | |          -----
[INFO] [stdout]      | |          |
[INFO] [stdout]      | |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  285 | |         .map_err(|e| AppError::BadRequest(format!("Multipart error: {}", e)))?
[INFO] [stdout]      | |                                                                              ^
[INFO] [stdout]      | |                                                                              |
[INFO] [stdout]      | |                                                                              this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                                                              up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 |                   let mut buf = BytesMut::new();
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `buf` calls a custom destructor
[INFO] [stdout]      |                       `buf` will be dropped later as of Edition 2024
[INFO] [stdout]  296 |                   while let Some(chunk) = field
[INFO] [stdout]      |                                  -----
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  `chunk` calls a custom destructor
[INFO] [stdout]      |                                  `chunk` will be dropped later as of Edition 2024
[INFO] [stdout]  297 |                       .try_next()
[INFO] [stdout]  298 |                       .await
[INFO] [stdout]      |                        -----
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  308 |                   let meta_str = std::str::from_utf8(&buf)
[INFO] [stdout]      |  ________________________________-
[INFO] [stdout]      | |________________________________|
[INFO] [stdout]  309 | |                     .map_err(|_| AppError::BadRequest("Metadata must be valid UTF-8".to_string()))?;
[INFO] [stdout]      | |                                                                                                   -
[INFO] [stdout]      | |___________________________________________________________________________________________________|
[INFO] [stdout]      | |___________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                                                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                   metadata = serde_json::from_str(meta_str)
[INFO] [stdout]      |  ____________________________-
[INFO] [stdout]      | |____________________________|
[INFO] [stdout]  311 | |                     .map_err(|e| AppError::BadRequest(format!("Invalid metadata JSON: {}", e)))?;
[INFO] [stdout]      | |                                                                                                -
[INFO] [stdout]      | |________________________________________________________________________________________________|
[INFO] [stdout]      | |________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                                                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  312 | |                 validate_flat_metadata(&metadata)?;
[INFO] [stdout]      | |                 ----------------------------------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  327 | |                     let mut data = BytesMut::new();
[INFO] [stdout]      | |                         --------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `data` calls a custom destructor
[INFO] [stdout]      | |                         `data` will be dropped later as of Edition 2024
[INFO] [stdout]  328 | |                     while let Some(chunk) = field
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                    `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  329 | |                         .try_next()
[INFO] [stdout]  330 | |                         .await
[INFO] [stdout]      | |                          -----
[INFO] [stdout]      | |                          |
[INFO] [stdout]      | |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  339 | |     }
[INFO] [stdout]      | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `field` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-multipart-0.7.2/src/safety.rs:51:1
[INFO] [stdout]      |
[INFO] [stdout]   51 | impl Drop for Safety {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs:2147:1
[INFO] [stdout]      |
[INFO] [stdout] 2147 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `field` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes_mut.rs:1126:1
[INFO] [stdout]      |
[INFO] [stdout] 1126 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/files.rs:925:8
[INFO] [stdout]     |
[INFO] [stdout] 904 |     let backend = registry.get(&location.storage_id).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `backend` calls a custom destructor
[INFO] [stdout]     |         `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 925 |     Ok(HttpResponse::Ok()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 928 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/projects.rs:67:8
[INFO] [stdout]     |
[INFO] [stdout]  50 |     let stats_row = sqlx::query(
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stats_row` calls a custom destructor
[INFO] [stdout]     |         `stats_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  67 |     Ok(HttpResponse::Ok().json(serde_json::json!({
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  74 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stats_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/shared_links.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let result = service
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `result` calls a custom destructor
[INFO] [stdout]     |         `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 217 |     Ok(HttpResponse::Ok()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 224 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/storages.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let stats_row = sqlx::query(
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `stats_row` calls a custom destructor
[INFO] [stdout]     |         `stats_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 128 |     Ok(HttpResponse::Ok().json(StorageWithStats {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stats_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/storages.rs:225:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let backend = registry.get(&storage_id).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `backend` calls a custom destructor
[INFO] [stdout]     |         `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |     Ok(HttpResponse::Ok().json(containers))
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 226 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/storages.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let backend = registry.get(&storage_id).await?;
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `backend` calls a custom destructor
[INFO] [stdout]     |         `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 240 |     Ok(HttpResponse::Created().json(serde_json::json!({"name": body.name})))
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 241 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/uploads.rs:247:29
[INFO] [stdout]     |
[INFO] [stdout] 247 |       while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 248 |           let chunk = chunk.map_err(|e| AppError::BadRequest(format!("Payload read error: {}", e)))?;
[INFO] [stdout]     |               -----   ------------------------------------------------------------------------------
[INFO] [stdout]     |               |       |
[INFO] [stdout]     |               |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               `chunk` calls a custom destructor
[INFO] [stdout]     |               `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 255 | /         file.write_all(&chunk)
[INFO] [stdout] 256 | |             .await
[INFO] [stdout] 257 | |             .map_err(|e| AppError::Internal(format!("Failed to write chunk: {}", e)))?;
[INFO] [stdout]     | |                                                                                      -
[INFO] [stdout]     | |                                                                                      |
[INFO] [stdout]     | |______________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 258 |           written += chunk.len() as i64;
[INFO] [stdout] 259 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/uploads.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let mut file = tokio::fs::OpenOptions::new()
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `file` calls a custom destructor
[INFO] [stdout]     |         `file` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |     Ok(HttpResponse::NoContent()
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/api/mod.rs:66:8
[INFO] [stdout]     |
[INFO] [stdout]  54 |     let file_row = sqlx::query("SELECT COUNT(*)::bigint, COALESCE(SUM(size), 0)::bigint FROM files")
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `file_row` calls a custom destructor
[INFO] [stdout]     |         `file_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |     let pending_row =
[INFO] [stdout]     |         -----------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `pending_row` calls a custom destructor
[INFO] [stdout]     |         `pending_row` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |     Ok(HttpResponse::Ok().json(SystemStats {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/actix-http-3.12.0/src/responses/head.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for BoxedResponseHead {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `file_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pending_row` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/backend_resolver.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 | /                 resolve_project_backend(pool, registry, &storage, fref.project_id, hmac_secret)
[INFO] [stdout] 126 | |                     .await
[INFO] [stdout]     | |                      ----^
[INFO] [stdout]     | |                      |   |
[INFO] [stdout]     | |                      |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                      |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 130 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/bulk_service.rs:122:23
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let source_loc = sqlx::query_as::<_, FileLocation>(
[INFO] [stdout]     |    ______________________________-
[INFO] [stdout]     |  _|______________________________|
[INFO] [stdout] 105 | | |                 r#"SELECT fl.* FROM file_locations fl
[INFO] [stdout] 106 | | |                    JOIN storages s ON s.id = fl.storage_id AND s.enabled = TRUE
[INFO] [stdout] 107 | | |                    WHERE fl.file_id = $1 AND fl.status = 'synced'
[INFO] [stdout] ...   | |
[INFO] [stdout] 112 | | |             .fetch_optional(&self.pool)
[INFO] [stdout] 113 | | |             .await?;
[INFO] [stdout]     | | |              ------
[INFO] [stdout]     | | |              |   ||
[INFO] [stdout]     | |_|______________|___|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |   |              |   |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |   |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                  |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 122 |                     match SyncTask::create(&self.pool, &create_task).await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                                          |
[INFO] [stdout]     |                           |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           |                                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           |                                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 123 |                         Ok(_) => sync_tasks_created += 1,
[INFO] [stdout] 124 |                         Err(e) => {
[INFO] [stdout]     |                             -
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `e` calls a custom destructor
[INFO] [stdout]     |                             `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 132 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 268 |             if !self.registry.contains(&storage.id).await {
[INFO] [stdout]     |                 -----------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 277 |             match SyncTask::create(&self.pool, &create_task).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                          |
[INFO] [stdout]     |                   |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                                          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 278 |                 Ok(_) => sync_tasks_created += 1,
[INFO] [stdout] 279 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 288 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:326:23
[INFO] [stdout]     |
[INFO] [stdout] 321 |               let backends = self
[INFO] [stdout]     |  _________________--------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `backends` calls a custom destructor
[INFO] [stdout]     | |                 `backends` will be dropped later as of Edition 2024
[INFO] [stdout] 322 | |                 .resolve_backends_for_location(&location.storage_id, &refs)
[INFO] [stdout] 323 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 326 |                   match backend.download(&location.storage_path).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                                        |
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |                                        up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                         up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 327 |                       Ok(data) => {
[INFO] [stdout]     |                          ----
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `data` calls a custom destructor
[INFO] [stdout]     |                          `data` will be dropped later as of Edition 2024
[INFO] [stdout] 328 |                           let _ = FileLocation::touch_accessed(&self.pool, location.id).await;
[INFO] [stdout]     |                                   -----------------------------------------------------------
[INFO] [stdout]     |                                   |                                                     |
[INFO] [stdout]     |                                   |                                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                   |                                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                       Err(e) => {
[INFO] [stdout]     |                           -
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `e` calls a custom destructor
[INFO] [stdout]     |                           `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backends` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:580:37
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 if let Ok(backend) = self.registry.get(&location.storage_id).await {
[INFO] [stdout]     |                           -------    ---------------------------------------------
[INFO] [stdout]     |                           |          |                                       |
[INFO] [stdout]     |                           |          |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |          |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           `backend` calls a custom destructor
[INFO] [stdout]     |                           `backend` will be dropped later as of Edition 2024
[INFO] [stdout] 580 |                     if let Err(e) = backend.delete(&location.storage_path).await {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                |    |                                      |
[INFO] [stdout]     |                                |    |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                |    |                                      up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |    |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 588 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/file_service.rs:579:38
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 if let Ok(backend) = self.registry.get(&location.storage_id).await {
[INFO] [stdout]     |                           -------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |          |                                       |
[INFO] [stdout]     |                           |          |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           |          |                                       up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |          |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |          |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           |          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           `backend` calls a custom destructor
[INFO] [stdout]     |                           `backend` will be dropped later as of Edition 2024
[INFO] [stdout] 580 |                     if let Err(e) = backend.delete(&location.storage_path).await {
[INFO] [stdout]     |                                -    --------------------------------------------
[INFO] [stdout]     |                                |    |                                      |
[INFO] [stdout]     |                                |    |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |    |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 589 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/shared_link_service.rs:218:23
[INFO] [stdout]     |
[INFO] [stdout] 213 |               let backends = self
[INFO] [stdout]     |  _________________--------___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `backends` calls a custom destructor
[INFO] [stdout]     | |                 `backends` will be dropped later as of Edition 2024
[INFO] [stdout] 214 | |                 .resolve_backends_for_location(&location.storage_id, &refs)
[INFO] [stdout] 215 | |                 .await;
[INFO] [stdout]     | |                  -----
[INFO] [stdout]     | |                  |   |
[INFO] [stdout]     | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 218 |                   match backend.download(&location.storage_path).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                                        |
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                         |                                        up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 219 |                       Ok(data) => {
[INFO] [stdout]     |                          ----
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `data` calls a custom destructor
[INFO] [stdout]     |                          `data` will be dropped later as of Edition 2024
[INFO] [stdout] 220 |                           let _ = FileLocation::touch_accessed(&self.pool, location.id).await;
[INFO] [stdout]     |                                   -----------------------------------------------------------
[INFO] [stdout]     |                                   |                                                     |
[INFO] [stdout]     |                                   |                                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                   |                                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |                               SharedLink::increment_download_count(&self.pool, link.id).await?;
[INFO] [stdout]     |                               ----------------------------------------------------------------
[INFO] [stdout]     |                               |                                                         |
[INFO] [stdout]     |                               |                                                         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               |                                                         `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 239 |                       Err(e) => {
[INFO] [stdout]     |                           -
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `e` calls a custom destructor
[INFO] [stdout]     |                           `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 248 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backends` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/tier_service.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout]  90 |             if let Some(cold_storage) = self.find_cold_storage(file.file_id).await? {
[INFO] [stdout]     |                                         ------------------------------------------
[INFO] [stdout]     |                                         |                                    |
[INFO] [stdout]     |                                         |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  91 |                 if !self.registry.contains(&cold_storage.id).await {
[INFO] [stdout]     |                     ----------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 100 |                 match SyncTask::create(&self.pool, &create_task).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                          |
[INFO] [stdout]     |                       |                                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                       |                                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       |                                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                       up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 109 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/services/tier_service.rs:151:19
[INFO] [stdout]     |
[INFO] [stdout] 151 |             match FileLocation::update_status(&self.pool, item.hot_location_id, "archived").await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                                                         |
[INFO] [stdout]     |                   |                                                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                                                                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                                                                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 160 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/local.rs:224:29
[INFO] [stdout]     |
[INFO] [stdout] 224 |     while let Some(entry) = entries.next_entry().await? {
[INFO] [stdout]     |                    -----    --------------------------^
[INFO] [stdout]     |                    |        |                    |
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                    |        |                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |        |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    |        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                    |        up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `entry` calls a custom destructor
[INFO] [stdout]     |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 227 |             Box::pin(collect_files(&path, base, prefix, results)).await?;
[INFO] [stdout]     |             ------------------------------------------------------------
[INFO] [stdout]     |             |                                                     |
[INFO] [stdout]     |             |                                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |             |                                                     `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 233 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/registry.rs:266:15
[INFO] [stdout]     |
[INFO] [stdout] 266 |         match create_backend(&storage.storage_type, &storage.config, hmac_secret).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                                   |
[INFO] [stdout]     |               |                                                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               |                                                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 267 |             Ok(backend) => {
[INFO] [stdout] 268 |                 registry.register(storage.id, backend).await;
[INFO] [stdout]     |                 --------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 276 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 286 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/workers/backup_worker.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 |             if let Err(e) = self.process_config(config).await {
[INFO] [stdout]    |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                        |    |                           |
[INFO] [stdout]    |                        |    |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                        |    |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |    |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |    |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                        `e` calls a custom destructor
[INFO] [stdout]    |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 94 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/workers/sync_worker.rs:114:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     self.process_task(&task, worker_id).await;
[INFO] [stdout]     |                     -----------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 113 |                     // Release advisory lock after processing
[INFO] [stdout] 114 |                     if let Err(e) = SyncTask::release_lock(&self.pool, task.id).await {
[INFO] [stdout]     |                                -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                |    |                                           |
[INFO] [stdout]     |                                |    |                                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |    |                                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |    |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                `e` calls a custom destructor
[INFO] [stdout]     |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 122 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/workers/upload_cleanup_worker.rs:127:29
[INFO] [stdout]     |
[INFO] [stdout] 126 |             let _ = tokio::fs::remove_file(&s.temp_path).await;
[INFO] [stdout]     |                     ------------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 127 |             if let Err(e) = UploadSession::mark_status(&self.pool, s.id, "aborted").await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                                                       |
[INFO] [stdout]     |                        |    |                                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                        |    |                                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 130 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/workers/upload_cleanup_worker.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |         while let Ok(Some(entry)) = entries.next_entry().await {
[INFO] [stdout]     |                           -----     ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |         |                    |
[INFO] [stdout]     |                           |         |                    this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |         |                    up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |         |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           |         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           `entry` calls a custom destructor
[INFO] [stdout]     |                           `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 173 |                 UploadSession::find_by_id(&self.pool, id).await,
[INFO] [stdout]     |                 -----------------------------------------------
[INFO] [stdout]     |                 |                                         |
[INFO] [stdout]     |                 |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                 |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 177 |                 let _ = tokio::fs::remove_file(&path).await;
[INFO] [stdout]     |                         -----------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 178 |             }
[INFO] [stdout] 179 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/services/file_service.rs:1099:19
[INFO] [stdout]      |
[INFO] [stdout] 1098 |         for result in results {
[INFO] [stdout]      |                       -------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 1099 |             match result.unwrap() {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1108 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/azure.rs:504:33
[INFO] [stdout]     |
[INFO] [stdout] 504 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 505 |               let chunk = chunk
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `chunk` calls a custom destructor
[INFO] [stdout]     | |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 506 | |                 .map_err(|e| AppError::Internal(format!("Azure stream chunk error: {}", e)))?;
[INFO] [stdout]     | |                                                                                             -
[INFO] [stdout]     | |                                                                                             |
[INFO] [stdout]     | |_____________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 507 | /             file.write_all(&chunk)
[INFO] [stdout] 508 | |                 .await
[INFO] [stdout] 509 | |                 .map_err(|e| AppError::Internal(format!("Failed to write chunk to temp: {}", e)))?;
[INFO] [stdout]     | |                                                                                                  -
[INFO] [stdout]     | |__________________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 510 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/azure.rs:832:15
[INFO] [stdout]     |
[INFO] [stdout] 828 |         let backend = AzureBlobBackend::new(config).unwrap();
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `backend` calls a custom destructor
[INFO] [stdout]     |             `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 832 |         match result.unwrap_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 836 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/gcs.rs:433:33
[INFO] [stdout]     |
[INFO] [stdout] 433 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 434 |               let chunk = chunk
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `chunk` calls a custom destructor
[INFO] [stdout]     | |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 435 | |                 .map_err(|e| AppError::Internal(format!("GCS stream chunk error: {}", e)))?;
[INFO] [stdout]     | |                                                                                           -
[INFO] [stdout]     | |                                                                                           |
[INFO] [stdout]     | |___________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 436 | /             file.write_all(&chunk)
[INFO] [stdout] 437 | |                 .await
[INFO] [stdout] 438 | |                 .map_err(|e| AppError::Internal(format!("Failed to write chunk to temp: {}", e)))?;
[INFO] [stdout]     | |                                                                                                  -
[INFO] [stdout]     | |__________________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 439 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/hetzner.rs:326:33
[INFO] [stdout]     |
[INFO] [stdout] 326 |           while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 327 |               let chunk = chunk
[INFO] [stdout]     |  _________________-----___-
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `chunk` calls a custom destructor
[INFO] [stdout]     | |                 `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 328 | |                 .map_err(|e| AppError::Internal(format!("Hetzner stream chunk error: {}", e)))?;
[INFO] [stdout]     | |                                                                                               -
[INFO] [stdout]     | |                                                                                               |
[INFO] [stdout]     | |_______________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 329 | /             file.write_all(&chunk)
[INFO] [stdout] 330 | |                 .await
[INFO] [stdout] 331 | |                 .map_err(|e| AppError::Internal(format!("Failed to write chunk to temp: {}", e)))?;
[INFO] [stdout]     | |                                                                                                  -
[INFO] [stdout]     | |__________________________________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 332 | |         }
[INFO] [stdout]     | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/hetzner.rs:771:15
[INFO] [stdout]     |
[INFO] [stdout] 767 |         let backend = HetznerStorageBoxBackend::new(config);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `backend` calls a custom destructor
[INFO] [stdout]     |             `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 771 |         match result.unwrap_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 775 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `backend` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/local.rs:321:15
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let (_dir, backend) = setup();
[INFO] [stdout]     |              ----
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `_dir` calls a custom destructor
[INFO] [stdout]     |              `_dir` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 321 |         match result.unwrap_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 325 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `_dir` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.27.0/src/dir/mod.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl Drop for TempDir {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/s3.rs:445:33
[INFO] [stdout]     |
[INFO] [stdout] 445 |             while let Some(chunk) = body
[INFO] [stdout]     |  __________________________-----____^
[INFO] [stdout]     | |  ________________________|________|
[INFO] [stdout]     | | |                        |
[INFO] [stdout]     | | |                        `chunk` calls a custom destructor
[INFO] [stdout]     | | |                        `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 446 | | |             .next()
[INFO] [stdout] 447 | | |             .await
[INFO] [stdout]     | | |              -----
[INFO] [stdout]     | | |              |   |
[INFO] [stdout]     | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 448 | |               .transpose()
[INFO] [stdout] 449 | |               .map_err(|e| AppError::Internal(format!("S3 stream chunk error: {}", e)))?
[INFO] [stdout]     | |                                                                                        ^
[INFO] [stdout]     | |                                                                                        |
[INFO] [stdout]     | |                                                                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                                                        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |________________________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                                                          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 450 |             {
[INFO] [stdout] 451 |   /             file.write_all(&chunk)
[INFO] [stdout] 452 |   |                 .await
[INFO] [stdout] 453 |   |                 .map_err(|e| AppError::Internal(format!("Failed to write S3 chunk: {}", e)))?;
[INFO] [stdout]     |   |                                                                                             -
[INFO] [stdout]     |   |_____________________________________________________________________________________________|
[INFO] [stdout]     |   |_____________________________________________________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 454 |   |         }
[INFO] [stdout]     |   |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/s3.rs:784:15
[INFO] [stdout]     |
[INFO] [stdout] 777 |         let backend = S3StorageBackend::new(config).await;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `backend` calls a custom destructor
[INFO] [stdout]     |             `backend` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 784 |         match result.unwrap_err() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 788 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `backend` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/sftp.rs:168:41
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 166 |         let sftp = self.connect().await?;
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sftp` calls a custom destructor
[INFO] [stdout]     |             `sftp` will be dropped later as of Edition 2024
[INFO] [stdout] 167 |
[INFO] [stdout] 168 |         match sftp.remove_file(&remote).await {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `sftp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/russh-sftp-2.1.1/src/client/rawsession.rs:719:1
[INFO] [stdout]     |
[INFO] [stdout] 719 | impl Drop for RawSftpSession {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/sftp.rs:186:40
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 184 |         let sftp = self.connect().await?;
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `sftp` calls a custom destructor
[INFO] [stdout]     |             `sftp` will be dropped later as of Edition 2024
[INFO] [stdout] 185 |
[INFO] [stdout] 186 |         match sftp.try_exists(&remote).await {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `sftp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/russh-sftp-2.1.1/src/client/rawsession.rs:719:1
[INFO] [stdout]     |
[INFO] [stdout] 719 | impl Drop for RawSftpSession {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/storage/traits.rs:44:14
[INFO] [stdout]     |
[INFO] [stdout]  12 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  42 |         let data = self.download(path).await?;
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `data` calls a custom destructor
[INFO] [stdout]     |             `data` will be dropped later as of Edition 2024
[INFO] [stdout]  43 |         tokio::fs::write(dst, &data)
[INFO] [stdout]  44 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `data` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:256:27
[INFO] [stdout]      |
[INFO] [stdout]  246 | /             tokio::select! {
[INFO] [stdout]  247 | |                 _ = cancel_token.cancelled() => {
[INFO] [stdout]  248 | |                     tracing::info!(node_id = %node_id, "Heartbeat worker shutting down");
[INFO] [stdout]  249 | |                     break;
[INFO] [stdout] ...    |
[INFO] [stdout]  252 | |                     if let Err(e) = Node::heartbeat(&pool, &node_id).await {
[INFO] [stdout]      | |                                -    --------------------------------------
[INFO] [stdout]      | |                                |    |                                |
[INFO] [stdout]      | |                                |    |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                |    |                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                |    `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                `e` calls a custom destructor
[INFO] [stdout]      | |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  256 | |                     match RefreshToken::delete_expired(&pool).await {
[INFO] [stdout]      | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                           |                                   |
[INFO] [stdout]      | |                           |                                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                           |                                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                           |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                           |                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                           up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  260 | |                         Err(e) => {
[INFO] [stdout]      | |                             -
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  266 | |             }
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |_____________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]      |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:256:27
[INFO] [stdout]      |
[INFO] [stdout]  246 | /             tokio::select! {
[INFO] [stdout]  247 | |                 _ = cancel_token.cancelled() => {
[INFO] [stdout]  248 | |                     tracing::info!(node_id = %node_id, "Heartbeat worker shutting down");
[INFO] [stdout]  249 | |                     break;
[INFO] [stdout] ...    |
[INFO] [stdout]  252 | |                     if let Err(e) = Node::heartbeat(&pool, &node_id).await {
[INFO] [stdout]      | |                                -    --------------------------------------
[INFO] [stdout]      | |                                |    |                                |
[INFO] [stdout]      | |                                |    |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                |    |                                `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                |    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                |    `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                `e` calls a custom destructor
[INFO] [stdout]      | |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  256 | |                     match RefreshToken::delete_expired(&pool).await {
[INFO] [stdout]      | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                           |                                   |
[INFO] [stdout]      | |                           |                                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                           |                                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                           |                                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                           |                                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                           up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  260 | |                         Err(e) => {
[INFO] [stdout]      | |                             -
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  266 | |             }
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |_____________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]      |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 37s
[INFO] [stderr] crater-edition-check: simply-storage v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking simply-storage v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 54s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63", kill_on_drop: false }`
[INFO] [stdout] fb93be2546317d31591749727463d11d0c41419b3583977d9c2cd8132662db63
